In diesem Abschnitt führen wir eine umfassende Aufklärung des Zielsystems durch. Wir beginnen mit einem ARP-Scan, um das Ziel im Netzwerk zu identifizieren.
Der ARP-Scan hat die IP-Adresse 192.168.2.156 mit der MAC-Adresse 08:00:27:8d:5c:f4 identifiziert. Dies bestätigt, dass das Zielsystem im Netzwerk vorhanden ist. Wir notieren die IP-Adresse, um sie in nachfolgenden Scans zu verwenden.
Wir fügen die IP-Adresse und den Hostnamen "cybero1.vln" zur /etc/hosts-Datei hinzu, um die spätere Verwendung des Hostnamens zu erleichtern. Dies ermöglicht uns, das Zielsystem über den Hostnamen anstelle der IP-Adresse anzusprechen.
Dieser umfassende Nmap-Scan liefert detaillierte Informationen über die offenen Ports, die laufenden Dienste und deren Versionen. Wir sehen, dass SSH (OpenSSH 7.4) auf Port 22, HTTP (Apache 2.4.6 mit PHP/5.4.16) auf Port 80 und HTTP (Apache 2.4.6 mit PHP/5.4.16) auf Port 8085 ausgeführt werden. Der FTP-Port 21 ist gefiltert. Die Analyse der HTTP-Header und -Methoden zeigt potenzielle Risiken durch die aktivierte TRACE-Methode.
In diesem Abschnitt konzentrieren wir uns auf die Enumeration der Webdienste, die auf den Ports 80 und 8085 laufen. Wir verwenden Nikto, um nach potenziellen Schwachstellen und Konfigurationsfehlern zu suchen.
Nikto identifiziert verschiedene potenzielle Sicherheitsprobleme auf Port 80, darunter fehlende X-Frame-Options- und X-Content-Type-Options-Header, eine veraltete Apache-Version und PHP-Version, aktivierte TRACE-Methode und Directory Indexing.
Ein einfacher `curl`-Befehl auf Port 80 zeigt den Text "What is the mystery of Mona Lisa?".
Ein `curl`-Befehl auf Port 8085 zeigt den Text "Cybero - Google Could you call to me? I am Google! I know everything and your name :) only 3 times". Dies deutet auf eine Google-ähnliche Seite hin.
Gobuster wird verwendet, um versteckte Verzeichnisse und Dateien auf dem Webserver zu finden. Auf Port 80 werden `index.html` und `logo.png` gefunden, und auf Port 8085 werden `index.php` und `google.jpg` gefunden.
Nikto identifiziert verschiedene potenzielle Sicherheitsprobleme auf Port 8085, darunter fehlende X-Frame-Options- und X-Content-Type-Options-Header, eine veraltete Apache-Version und PHP-Version, aktivierte TRACE-Methode, Directory Indexing und die Offenlegung sensibler Informationen durch bestimmte PHP-Query-Strings.
In diesem Abschnitt konzentrieren wir uns darauf, uns initialen Zugriff auf das System zu verschaffen. Wir nutzen verschiedene gefundene Informationen und Schwachstellen.
Wir starten Metasploit und suchen nach einem Modul zur Enumeration von SSH-Benutzern. Wir verwenden das Modul `auxiliary/scanner/ssh/ssh_enumusers`.
Wir konfigurieren das Modul mit dem Zielhost, dem Zielport und der Benutzerliste und führen es aus. Das Modul findet die Benutzer 'mail', 'root', 'bin', 'games', 'nobody', 'daemon' und 'operator'.
Nachdem wir einige Informationen über das System gesammelt haben, versuchen wir, unsere Privilegien zu erhöhen, um Root-Zugriff zu erlangen.
Wir stellen fest, dass die Box auf normalem Wege nicht zu lösen ist und greifen daher auf eine Backdoor zurück.
Wir beginnen mit der Analyse der gefundenen Webanwendungen.
Wir navigieren in das Verzeichnis `userapp` und betrachten die Datei `users.sql`.
Die Datei `users.sql` enthält einen SQL-Dump der Tabelle `users`. Der Wert für `social_media` scheint eine verschlüsselte Information zu sein.
Wir betrachten die Datei `agent.php`.
Die Datei `agent.php` enthält eine Überprüfung des User-Agent-Headers. Wenn der User-Agent nicht "007" ist, wird die Flag `{FLAGCybero35}` angezeigt. Danach wird versucht, eine Datei einzubinden, die durch den `page`-Parameter angegeben wird.
Dies deutet auf eine Local File Inclusion (LFI)-Schwachstelle hin, die ausgenutzt werden kann, um beliebige Dateien auf dem System auszuführen. Um die Flag zu erhalten und die LFI-Schwachstelle auszunutzen, müssen wir den User-Agent auf "007" setzen.
Wir führen Feroxbuster aus, um weitere Verzeichnisse und Dateien zu finden. Interessante Ergebnisse sind `labf4u`, `userapp` und `labf4u/darkroomforyou`.
Wir analysieren die gefundenen Verzeichnisse weiter.
Um die Flag zu erhalten, senden wir eine Anfrage an `http://cybero1.vln:8085/darkroomforyou/agent.php?page=hello.php` mit dem User-Agent "007".
Wir erhalten die Flag `{FLAGCybero35}`!
Um weitere Informationen zu erhalten, besuchen wir `http://cybero1.vln:8085/darkroomforyou/agent.php?page=hello.php` im Browser mit FoxyProxy aktiviert.
Wir erhalten die gleiche Flag und den Hinweis "Follow me :)". Dies deutet darauf hin, dass wir weitere Seiten analysieren sollen.
Wir analysieren die Seite `bullshitjok3foryou.php`.
Die Seite `bullshitjok3foryou.php` erlaubt das Hochladen von Bildern, was potenziell ausgenutzt werden kann, um PHP-Code hochzuladen.
Wir erstellen eine Reverse-Shell in PHP und versuchen, sie hochzuladen.
Wir erstellen eine einfache PHP-Datei `rev.php`, die den `cmd`-Parameter aus der GET-Anfrage ausführt.
Die Datei `rev.phtml` wurde erfolgreich hochgeladen! Die Ausgabe zeigt auch die Flag `{FLAGCybero25}`.
Wir zeigen den POST-Request zum Hochladen der Datei.
Wir versuchen, eine andere Datei hochzuladen.
Wir betrachten das Verzeichnis `uploads`.
Die Datei `index.phtml` wurde hochgeladen und die Flag `{FLAGCybero25}` wird erneut angezeigt.
Da PHP-Dateien nicht direkt hochgeladen werden können, nutzen wir eine andere Methode, um Code auszuführen. Wir verwenden Exiftool, um PHP-Code in die Metadaten eines Bildes einzufügen und laden das Bild dann hoch.
Wir fügen PHP-Code in die Metadaten der Datei `file.php.jpg` ein.
Wir überprüfen, ob der PHP-Code erfolgreich in die Metadaten eingefügt wurde.
Wir laden die manipulierte Bilddatei hoch und versuchen, sie über den Browser aufzurufen, um den PHP-Code auszuführen.
Nachdem wir Codeausführung erreicht haben, nutzen wir diese, um unsere Privilegien zu erhöhen.
Wir navigieren durch verschiedene Verzeichnisse und finden schließlich eine interessante Datei namens "17932".
Die Datei "17932" enthält C-Code, der eine PolicyKit-Schwachstelle (CVE-2011-1485) ausnutzt. Dieser Code ermöglicht es, Root-Rechte zu erlangen.
Da die Box auf normalem Wege nicht zu lösen war, wurde eine Backdoor genutzt, um die Privilegienerhöhung zu erreichen.
**Privilege Escalation erfolgreich!**